Various embodiments of the present invention relate to link aggregation, and more specifically, to a method and apparatus for link aggregation based on virtual interfaces of virtual local area networks (VLANs).
Virtual local area networks are a technology that logically partitions different users in a physical local area network into different broadcast domains, and thus implements data transmission according to virtual work groups.
To improve the data transmission efficiency, link aggregation group (LAG) technology has been developed, which can bind multiple physical interfaces as a logic interface, to properly schedule send/receive traffic among the respective physical interfaces. Although LAG technology can support network transmission traffic balance between multiple physical interfaces, only when VLAN properties of the multiple physical interfaces are completely identical (i.e. the multiple physical interfaces support one or more completely identical VLANs), can the multiple physical interfaces be bound to LAG.
With the development of computer hardware and software technology, virtual machines are applied in increasingly wider scope. A virtual machine refers to a complete computer system that is implemented through software simulation, has a complete range of hardware system functions and runs in a totally isolated environment. Usually one or more virtual machines may run on one physical server, and logically, each exhibits externally the identical processing capability, storage capability and data communication capability as a conventional computer system.
Regarding data communication, a physical machine usually communicates with the outside via hardware means such as a network interface card (NIC). As a virtual machine is logically a computer system, various resources being owned are virtual resources (e.g. a processor, memories, etc.) mapped to real physical resources. It is the same case in the data communication resources, i.e. a virtual machine may have a virtual network interface card (vNIC) that is mapped to a physical NIC on a server, so that the virtual machine can transmit data via the physical NIC on the server and associate it with its own vNIC.
Physical NICs on a server where multiple virtual machines are running may be mapped to multiple vNICs, and these physical NICs may have different VLAN properties (e.g. a physical NIC 1 supports VLANs 10 and 20, while a physical NIC 2 supports VLANs 10 and 30), so physical NICs 1 and 2 cannot be bound to the identical link aggregation group.
Various kinds of applications may run in multiple virtual machines running on a server, and these applications may require different network bandwidths or require no network transmission capability at all. This may lead to transmission load imbalance on physical NICs of the server, and may further result in some NICs in an idle state while others are congested. In face of these problems, research has focused on how to improve data transmission between processing devices (e.g. a switch and a server where multiple virtual machines are running).
Therefore, it is desired to develop, in a processing device supporting virtual local area networks, a technical solution capable of utilizing communication interfaces more effectively, and it is desired to strike a load balance among these communication interfaces and implement data transmission more efficiently.